class Solution {
public:
    int calPoints(vector<string>& ops) {
        vector<int> ans(ops.size());
        int idx=0;
        for(int i=0;i<ops.size();i++){
            if(ops[i]=="C"){ans.erase(ans.begin()+(--idx));continue;}
            if(ops[i]=="D"){ans[idx]=2*ans[idx-1];}
            else if(ops[i]=="+"){ans[idx]=ans[idx-1]+ans[idx-2];}
            else{
                ans[idx]=stoi(ops[i]);
            }
            idx++;
        }
        return accumulate(ans.begin(),ans.end(),0);
    }
};